An Aspect-oriented Approach to Modular Behavioral Specification of Java Components
نویسندگان
چکیده
Behavioral interface specification languages, such as Java Modeling Language (JML), can be used to specify the behavior of program modules. We have developed a behavioral interface specification language Moxa, an extension of JML. Moxa provides the new modularization mechanism called assertion aspect that can capture the crosscutting properties among assertions. In this paper, we briefly explain the notion of assertion aspects and the design of Moxa, and then we show an example specification. By comparing the specification to its JML counterpart, we show that the use of assertion aspects clarifies the large, complex specification and greatly simplifies each assertion in the specification.
منابع مشابه
Pipa: A Behavioral Interface Specification Language for AspectJ
Pipa is a behavioral interface specification language (BISL) tailored to AspectJ, an aspect-oriented programming language. Pipa is a simple and practical extension to the Java Modeling Language (JML), a BISL for Java. Pipa uses the same basic approach as JML to specify AspectJ classes and interfaces, and extends JML, with just a few new constructs, to specify AspectJ aspects. Pipa also supports...
متن کاملMoxa: An Aspect-Oriented Approach to Modular Behavioral Specifications
Design-by-Contract (DbC) is a software development method that utilizes assertions in a principled manner, and is beneficial for building reliable software systems. However, in our experience of applying DbC to the development of a working application, we faced a difficulty in dealing with assertions that have properties spanning over the natural program structure. Such crosscutting properties ...
متن کاملBehavioral Subtyping is Equivalent to Modular Reasoning for Object-oriented Programs
Behavioral subtyping is an established idea that enables modular reasoning about behavioral properties of object-oriented programs. It requires that syntactic subtypes are behavioral refinements. It validates reasoning about a dynamically-dispatched method call, say E .m(), using the specification associated with the static type of the receiver expression E . For languages with references and m...
متن کاملRun-Time Adaptability of Synchronization Policies in Concurrent Object Oriented Languages
Adaptability has become one of the most important research areas in concurrent object-oriented systems in recent years. It tries to cope with system evolution by adding/replacing components without affecting other components of the same application. Nevertheless, at the present time, concurrent object-oriented languages do not provide enough support for the development of true adaptable softwar...
متن کاملTranslucid Contracts for Aspect-oriented Interfaces
There is some consensus in the aspect-oriented community that a notion of interface between joinpoints and advice may be necessary for improved modularity of aspect-oriented programs, for modular reasoning, and for overcoming pointcut fragility. Different approaches for adding such interfaces, such as aspect-aware interfaces, pointcut interfaces, crosscutting interfaces, explicit joinpoints, qu...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005